describe("Totient", function()
	local totient = require("math.totient")
	it("should handle edge cases", function()
		assert.equal(1, totient(1))
	end)

	it("totient of prime p should be p - 1", function()
		assert.equal(1, totient(2))
		assert.equal(2, totient(3))
		assert.equal(4, totient(5))
		assert.equal(78, totient(79))
		assert.equal(96, totient(97))
	end)

	it("should handle general cases", function()
		assert.equal(2, totient(4))
		assert.equal(12, totient(42))
		assert.equal(36, totient(63))
		assert.equal(24, totient(72))
		assert.equal(40, totient(100))
	end)
end)
